<html>
	<head>
		<title>final</title>
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
		<meta name="viewport" content="width=device-width initial-scale=1">
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<meta http-equiv="Content-Language" content="en-gb">

<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
		
	</head>
	<body class="commentary-font">
		<nav role="navigation">
		<h1><a href="../index.html"><img src="../docs-assets/Inform.png" height=72> </a></h1>
<ul><li><a href="../index.html">home</a></li>
</ul><h2>Compiler</h2><ul>
<li><a href="../structure.html">structure</a></li>
<li><a href="../inbuildn.html">inbuild</a></li>
<li><a href="../inform7n.html">inform7</a></li>
<li><a href="../intern.html">inter</a></li>
<li><a href="../services.html">services</a></li>
<li><a href="../secrets.html">secrets</a></li>
</ul><h2>Other Tools</h2><ul>
<li><a href="../inblorbn.html">inblorb</a></li>
<li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li>
</ul><h2>Resources</h2><ul>
<li><a href="../extensions.html">extensions</a></li>
<li><a href="../kits.html">kits</a></li>
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=0> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=0> inweb</a></li>
<li><a href="https://github.com/ganelson/intest"><img src="../docs-assets/github.png" height=0> intest</a></li>
</ul>
		</nav>
		<main role="main">
		<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../intern.html">Inter Modules</a></li><li><b>final</b></li></ul>
		<p class="purpose">Final code generation from fully-processed Inter. This is version 1.</p>
		<hr>
		<div class="contentspage">
			<ul class="chapterlist">
				<li>
					<p class="chapterentry"><a name="P"></a>
						<span class="chaptertitle">Preliminaries</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="P-wtmd.html">
								<spon class="sectiontitle">What This Module Does</span></a> -
							<span class="sectionpurpose">An overview of the final module's role and abilities.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="1"></a>
						<span class="chaptertitle">Chapter 1: Setting Up</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="1-fm.html">
								<spon class="sectiontitle">Final Module</span></a> -
							<span class="sectionpurpose">Setting up the use of this module.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="2"></a>
						<span class="chaptertitle">Chapter 2: Mechanism</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="2-cg.html">
								<spon class="sectiontitle">Code Generation</span></a> -
							<span class="sectionpurpose">To generate final code from intermediate code.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-cg2.html">
								<spon class="sectiontitle">Code Generators</span></a> -
							<span class="sectionpurpose">To create the range of possible targets into which Inter can be converted.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-vnl.html">
								<spon class="sectiontitle">Vanilla</span></a> -
							<span class="sectionpurpose">The plain-vanilla code generation strategy, provided for the use of generators to imperative languages such as Inform 6 or C.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-vc.html">
								<spon class="sectiontitle">Vanilla Constants</span></a> -
							<span class="sectionpurpose">How the vanilla code generation strategy handles constants, including literal texts, lists, and arrays.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-vf.html">
								<spon class="sectiontitle">Vanilla Functions</span></a> -
							<span class="sectionpurpose">How the vanilla code generation strategy declares functions.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-vo.html">
								<spon class="sectiontitle">Vanilla Objects</span></a> -
							<span class="sectionpurpose">How the vanilla code generation strategy handles instances, kinds, and properties.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-vc2.html">
								<spon class="sectiontitle">Vanilla Code</span></a> -
							<span class="sectionpurpose">How the vanilla code generation strategy handles the actual code inside functions.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-vi.html">
								<spon class="sectiontitle">Vanilla IF</span></a> -
							<span class="sectionpurpose">Constructing the dictionary, command verb and action tables when the target language is not Inform 6 (where such things are made automatically).</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="3"></a>
						<span class="chaptertitle">Chapter 3: Non-Vanilla Generators</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="3-fti.html">
								<spon class="sectiontitle">Final Textual Inter</span></a> -
							<span class="sectionpurpose">To create the range of possible targets into which Inter can be converted.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-fbi.html">
								<spon class="sectiontitle">Final Binary Inter</span></a> -
							<span class="sectionpurpose">To create the range of possible targets into which Inter can be converted.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-fi.html">
								<spon class="sectiontitle">Final Inventory</span></a> -
							<span class="sectionpurpose">To print a summary of the contents of a repository.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="4"></a>
						<span class="chaptertitle">Chapter 4: Inform 6</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="4-fi6.html">
								<spon class="sectiontitle">Final Inform 6</span></a> -
							<span class="sectionpurpose">To generate I6 code from intermediate code.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-i6c.html">
								<spon class="sectiontitle">Inform 6 Constants</span></a> -
							<span class="sectionpurpose">To declare I6 constants and arrays.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-i6gv.html">
								<spon class="sectiontitle">Inform 6 Global Variables</span></a> -
							<span class="sectionpurpose">To declare global variables, using a mixture of I6 Globals and array entries.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-i6o.html">
								<spon class="sectiontitle">Inform 6 Objects</span></a> -
							<span class="sectionpurpose">To declare I6 objects, classes, attributes and properties.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-i6c2.html">
								<spon class="sectiontitle">Inform 6 Code</span></a> -
							<span class="sectionpurpose">To generate I6 routines of imperative code.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="5"></a>
						<span class="chaptertitle">Chapter 5: C</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="5-fnc.html">
								<spon class="sectiontitle">Final C</span></a> -
							<span class="sectionpurpose">To generate ANSI C-99 code from intermediate code.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cnm.html">
								<spon class="sectiontitle">C Namespace</span></a> -
							<span class="sectionpurpose">How identifiers are used in the C code we generate.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-crf.html">
								<spon class="sectiontitle">C References</span></a> -
							<span class="sectionpurpose">How changes to storage objects are translated into C.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cgv.html">
								<spon class="sectiontitle">C Global Variables</span></a> -
							<span class="sectionpurpose">Global variables translated to C.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cmm.html">
								<spon class="sectiontitle">C Memory Model</span></a> -
							<span class="sectionpurpose">How arrays of all kinds are stored in C.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cas.html">
								<spon class="sectiontitle">C Assembly</span></a> -
							<span class="sectionpurpose">The problem of assembly language.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-car.html">
								<spon class="sectiontitle">C Arithmetic</span></a> -
							<span class="sectionpurpose">Integer and floating-point calculations translated to C.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cpc.html">
								<spon class="sectiontitle">C Program Control</span></a> -
							<span class="sectionpurpose">Generating C code to effect loops, branches and the like.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-ccn.html">
								<spon class="sectiontitle">C Conditions</span></a> -
							<span class="sectionpurpose">Evaluating conditions.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-clt.html">
								<spon class="sectiontitle">C Literals</span></a> -
							<span class="sectionpurpose">Text and dictionary words translated to C.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-com.html">
								<spon class="sectiontitle">C Object Model</span></a> -
							<span class="sectionpurpose">How objects, classes and properties are compiled to C.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cfm.html">
								<spon class="sectiontitle">C Function Model</span></a> -
							<span class="sectionpurpose">Translating functions into C, and the calling conventions needed for them.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cim.html">
								<spon class="sectiontitle">C Input-Output Model</span></a> -
							<span class="sectionpurpose">How C programs print text out, really.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cmn.html">
								<spon class="sectiontitle">C Miniglk</span></a> -
							<span class="sectionpurpose">Just enough of the Glk input/output interface to allow simple console text in and out, and no more.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-cuf.html">
								<spon class="sectiontitle">C Utility Functions</span></a> -
							<span class="sectionpurpose">Rounding out the C library with a few functions intended for external code to use.</span></p>
						</li>
					</ul>
				</li>
			</ul>
		</div>
		<hr>
		<p class="purpose">Powered by <a href="https://github.com/ganelson/inweb">Inweb</a>.</p>
		</main>
	</body>
</html>

